package com.xiaomaoaixue.common.core.enums;

/**
 * 用户状态
 * 
 * @author xiaomaoaixue
 */
public enum UserStatus {

    /**
     * 已激活（已分配）
     */
    ACTIVED("0", "正常"),
    /**
     * 已禁用
     */
    DISABLED("1", "停用"),
    /**
     * 未激活（待分配）
     */
    UNACTIVED("4","待分配"),
    /**
     * 已删除
     */
    DELETED("2", "删除"),
    /**
     * 重分配(如果改了部门，需要重新分配角色）
     */
    AGAIN_ACT("3", "重分配"),
    /**
     * 已退出 (已离职）（企业微信端::如不重新加入，其帐号将在29天后自动删除）
     */
    QUITED("5", "已退出"),


    /**
     * 未知
     */
    UNKNOWN("99", "未知");

    private final String code;
    private final String info;

    UserStatus(String code, String info) {
        this.code = code;
        this.info = info;
    }

    public String getCode() {
        return code;
    }

    public String getInfo() {
        return info;
    }


    public static UserStatus getUserStatusByWeStatus(Integer weStatus){
        // 企业微信：1=已激活，2=已禁用，4=未激活，5=退出企业。
        switch (weStatus){
            case 1:
                return UserStatus.ACTIVED;  // 对应系统0正常
            case 2:
                return UserStatus.DISABLED;  //对应系统1禁用
            case 4:
                return UserStatus.UNACTIVED;
            case 5:
                return UserStatus.QUITED;
            default:
                return UserStatus.UNKNOWN;
        }
    }
}
